home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / f90 / shift.z / shift
Text File  |  1998-10-30  |  3KB  |  78 lines

  1. SHIFT(3I)                                              Last changed: 1-6-98
  2.  
  3.  
  4. NNAAMMEE
  5.      SSHHIIFFTT - Performs a left circular shift
  6.  
  7. SSYYNNOOPPSSIISS
  8.      SSHHIIFFTT (([II==]_i,,[JJ==]_j))
  9.  
  10. IIMMPPLLEEMMEENNTTAATTIIOONN
  11.      UNICOS, UNICOS/mk, and IRIX systems
  12.  
  13. SSTTAANNDDAARRDDSS
  14.      CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran 90
  15.  
  16. DDEESSCCRRIIPPTTIIOONN
  17.      SSHHIIFFTT performs a left circular shift of _i by _j bits.  It accepts the
  18.      following arguments:
  19.  
  20.      _i    The value to be shifted.  _i can be of type Boolean, integer,
  21.           real, or Cray pointer.
  22.  
  23.      _j    The number of bits to shift the value.  Must be of type integer
  24.           or Boolean.  _j must be within the range 0 <= _j <=_s_i_z_e, where _s_i_z_e
  25.           is the size, in bits, of _i.  That is, if _i is a 64-bit object, _j
  26.           must be within the range 0 <= _j <= 64.
  27.  
  28.      For values of _j outside these ranges, SSHHIIFFTT returns an undefined
  29.      result.
  30.  
  31.      On UNICOS systems, an object is 64 bits.  On UNICOS/mk systems, an
  32.      object is 32 bits or 64 bits.  On IRIX systems, an object is 8 bits,
  33.      16 bits, 32 bits, or 64 bits.
  34.  
  35.      SSHHIIFFTT is an elemental function.  The name of this intrinsic cannot be
  36.      passed as an argument.
  37.  
  38. NNOOTTEESS
  39.      This is an outmoded routine.  Refer to the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e
  40.      _M_a_n_u_a_l, _V_o_l_u_m_e _2, publication SR-3903, for information about outmoded
  41.      features and their preferred standard alternatives.
  42.  
  43.      The bit representation of the logical data type is not consistent
  44.      among Cray Research systems.  For further details, see the your
  45.      compiler's reference manuals.
  46.  
  47. RREETTUURRNN VVAALLUUEESS
  48.      SSHHIIFFTT returns a value of type Boolean on UNICOS and UNICOS/mk systems.
  49.      It returns an integer result on IRIX systems.
  50.  
  51. EEXXAAMMPPLLEESS
  52.      The following section of Fortran code shows the SSHHIIFFTT function used in
  53.      the case where _i is of type integer.  For simplicity, a 16-bit object
  54.      is used.  The bit pattern of _i and the bit pattern of the result are
  55.      also given.
  56.  
  57.           INTEGER I1, I2, I3
  58.           ...
  59.           I2 = 5
  60.           I3 = SHIFT(I1,I2)
  61.  
  62.            ---------------------------------------------------------------
  63.           | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  64.            ---------------------------------------------------------------
  65.                                            I1 (_i)
  66.  
  67.            ---------------------------------------------------------------
  68.           | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
  69.            ---------------------------------------------------------------
  70.                                           I3 (result)
  71.  
  72. SSEEEE AALLSSOO
  73.      SSHHIIFFTTLL(3I)
  74.  
  75.      _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
  76.      printed version of this man page.
  77.  
  78.